nacteni vlastniho kurzoru
Otázka od: petr palicka
4. 11. 2004 16:27
Ahoj,
trapim se trapim...
potrebuju do aplikace dostat vlastni kurzor pro mys. podle helpu by melo
stacit toto:
Screen.Cursors[crBigCross]:=LoadCursor(HInstance, 'CRBIGCROSS');
pbDrawBox.Cursor:=crBigCross;
ale kde nic tu nic. co delam spatne?
crBigCross je moje konstanta.
Dik Peca
Odpovedá: Petr Brant
5. 11. 2004 9:46
Hm... a mas naincludovany soubor s tim resourcem? Nejak {$R MYCURSORS.RES}
nebo podobne, ted se nepodivam. A jeste tam nejakou roli hraji mala/velka
pismena.
RNDr. Petr Brant [brant@dcomm.cz]
http://brant.wz.cz <http://brant.wz.cz>
> potrebuju do aplikace dostat vlastni kurzor pro mys. podle helpu by melo
> stacit toto:
>
> Screen.Cursors[crBigCross]:=LoadCursor(HInstance, 'CRBIGCROSS');
> pbDrawBox.Cursor:=crBigCross;
>
> ale kde nic tu nic. co delam spatne?
> crBigCross je moje konstanta.
>
>
Odpovedá: petr palicka
5. 11. 2004 10:26
Petr Brant wrote:
> Hm... a mas naincludovany soubor s tim resourcem? Nejak {$R MYCURSORS.RES}
> nebo podobne, ted se nepodivam. A jeste tam nejakou roli hraji mala/velka
> pismena.
cursor je v RES aplikace a pojmenovan velkymi pismeny (to mi neco rika,
proto jsem to tak udelal).
ale nekde na netu jsem nasel priklad, kde se pouziva nahrazeni jineho
nepotrebneho kurzoru. protoze jsem potreboval jenom jiny kriz, pouzil
jsem konstantu delphi crCross, misto sve vlastni a viola... uz to
funguje
Screen.Cursors[crCross]:=LoadCursor(HInstance, 'CRBIGCROSS');
pbDrawBox.Cursor:=crCross;
Peca
Odpovedá: MISHAK
5. 11. 2004 16:14
> Hm... a mas naincludovany soubor s tim resourcem? Nejak {$R MYCURSORS.RES}
> nebo podobne, ted se nepodivam. A jeste tam nejakou roli hraji mala/velka
> pismena.
> > potrebuju do aplikace dostat vlastni kurzor pro mys. podle helpu by melo
> > stacit toto:
> >
> > Screen.Cursors[crBigCross]:=LoadCursor(HInstance, 'CRBIGCROSS');
> > pbDrawBox.Cursor:=crBigCross;
> >
> > ale kde nic tu nic. co delam spatne?
> > crBigCross je moje konstanta.
ne crBigCross ukazuje jen na prvek pole v Screen.Cursors
spravne prirazeni je pbDrawBox.Cursor:=Screen.Cursors[crBigCross];
nebo crBigCross definujte jako promenou HCURSOR nebo tak nejak
const crBigCursor: HCursor = nejake_cislo;
crBigCursor := Screen.Cursor[crBigCursor];
PS v RES nehraji roli velka nebo mala pismena, ale je zvyk to psat velkima (co
kdyby..
PS pane brante zkuste si udelat hezci stranky PLZ
MISHAK[17] >> http://mishak.wz.cz >> gmishka@seznam.cz
Odpovedá: Vlastimil Burian
9. 11. 2004 11:06
> Screen.Cursors[crBigCross]:=LoadCursor(HInstance, 'CRBIGCROSS');
> pbDrawBox.Cursor:=crBigCross;
>
> ale kde nic tu nic. co delam spatne?
co se tyce stadrardnich kurzoru tak to sem nikdy nezkousel menit pomoci
zdroju ... proc vlastne ... ale pochopitelne muzes ze zdroju nacist vlastni
kurzory ... prvne si je hod do zdroje RES ... pak ho v programu nacti {$
soubor.res} (nejlip na zac. sekce implem.) ... ted u sebe nemam delphi ale
funkci
LoadCursor(MAININSTANCE, 'MY_CURSOR_1') ziskas pouze handle toho kurzoru
takze to prirad do Screen.Cursor.Handle ... ted u sebe nemam delphi abych si
to overil ale bude to tak ...
Odpovedá: Petr Brant
9. 11. 2004 13:29
Ted jsem nasel jeden stary kod jeste z doby Delphi 1.0, ktery funguje:
const
crPudorys = 10;
crProstor = 11;
crVolba = 12;
....
{$R CURSORS.RES}
....
Screen.Cursors[crPudorys] := LoadCursor(HInstance, 'PUDORYS');
Screen.Cursors[crProstor] := LoadCursor(HInstance, 'PROSTOR');
Screen.Cursors[crVolba] := LoadCursor(HInstance, 'VOLBA');
....
Screen.Cursor:=crProstor;
....
RNDr. Petr Brant [brant@dcomm.cz]
http://brant.wz.cz <http://brant.wz.cz>
> > Screen.Cursors[crBigCross]:=LoadCursor(HInstance, 'CRBIGCROSS');
> > pbDrawBox.Cursor:=crBigCross;
> >
> > ale kde nic tu nic. co delam spatne?
>
>
> co se tyce stadrardnich kurzoru tak to sem nikdy nezkousel menit pomoci
> zdroju ... proc vlastne ... ale pochopitelne muzes ze zdroju nacist
> vlastni
> kurzory ... prvne si je hod do zdroje RES ... pak ho v programu nacti {$
> soubor.res} (nejlip na zac. sekce implem.) ... ted u sebe nemam delphi ale
> funkci
> LoadCursor(MAININSTANCE, 'MY_CURSOR_1') ziskas pouze handle toho kurzoru
> takze to prirad do Screen.Cursor.Handle ... ted u sebe nemam delphi abych
> si
> to overil ale bude to tak ...
Odpovedá: Vlastimil Burian
10. 11. 2004 12:26
> > LoadCursor(MAININSTANCE, 'MY_CURSOR_1') ziskas pouze handle toho kurzoru
> > takze to prirad do Screen.Cursor.Handle ...
taxe oprava - zmylil sem se - handle sam o sobe priradit je na nic ...
pouzijte funkce
SetCursor - lokalni zmena kurzoru v dane aplikaci
SetSystemCursor - zmeni dany kurzor pro cele windows a to i po ukonceni
aplikace !
(viz WinAPI help)